package de.mnit.schnipsel.swt.dialog.konfig;

import org.eclipse.swt.widgets.Composite;

import de.mnit.basis.daten.konstant.position.POSITION_V;
import de.mnit.basis.fehler.system.F_Sys_InOut;
import de.mnit.basis.swt.anw.A_MN_Gruppe;
import de.mnit.basis.swt.element.S_SWT_Komponente;
import de.mnit.basis.swt.element.steuer.SWT_Label;
import de.mnit.basis.swt.element.steuer.rollbar.SWT_TextEingabe;
import de.mnit.basis.swt.element.steuer.rollbar.gruppe.bild.deko.SWT_Fenster;
import de.mnit.basis.swt.element.steuer.rollbar.gruppe.bild.deko.S_Fenster;
import de.mnit.basis.swt.grafik.icon.direkt.ICON;
import de.mnit.basis.swt.layout.LayoutGitter;
import de.mnit.basis.sys.sprache.S;
import de.mnit.schnipsel.div.KonfigLokal;

/**
 * @author Michael Nitsche
 * 19.10.2010	Erstellt
 */
public class K_KonfigSync extends A_MN_Gruppe<K_KonfigSync> implements S_KonfigSeite<K_KonfigSync> {

	public static void main(String[] args)   { start(K_KonfigSync.class, 450, 400); }


	private static final S s=new S(K_KonfigSync.class);
	private static final String DUMMY="12345678";
	private final SWT_TextEingabe	k_server	= new SWT_TextEingabe();
	private final SWT_TextEingabe	k_benutzer	= new SWT_TextEingabe();
	private final SWT_TextEingabe	k_pass		= new SWT_TextEingabe();
	private final SWT_Label			k_text_srv		= new SWT_Label();
	private final SWT_Label			k_text_benutzer	= new SWT_Label();
	private final SWT_Label			k_text_pass 	= new SWT_Label();


	// ERSTELLEN

	public boolean oeffnen() {
		t.k_server.sText(KonfigLokal.i().syncServer());
		t.k_benutzer.sText(KonfigLokal.i().syncBenutzer());
		String pass=KonfigLokal.i().syncPass();
		if(pass==null)
			pass="";
		else if(pass.length()>0)
			pass=DUMMY;
		t.k_pass.sText(pass);
		return true;
	}

	public boolean speichern() {
		KonfigLokal.i().syncServer(t.k_server.gText());
		KonfigLokal.i().syncBenutzer(t.k_benutzer.gText());
		String pass=t.k_pass.gText();
		if(pass.length()!=0 && !pass.equals(DUMMY))
			KonfigLokal.i().syncPass(pass);
		return true;
	}

	protected S_SWT_Komponente<?, ? extends Composite> layout() {
		LayoutGitter haupt = LayoutGitter.neu()
			.sSpaltenAnzahl(2)
			.sAussenabstand(5)

			.sKomponente(t.k_text_srv)
				.sBreite(75)
				.sPositionV(POSITION_V.MITTE)
			.sKomponente(t.k_server)
				.sFlexibelH()

			.sKomponente(t.k_text_benutzer)
				.sBreite(75)
				.sPositionV(POSITION_V.MITTE)
			.sKomponente(t.k_benutzer)
				.sFlexibelH()

			.sKomponente(t.k_text_pass)
				.sBreite(75)
				.sPositionV(POSITION_V.MITTE)
			.sKomponente(t.k_pass)
				.sFlexibelH()
				.fertig()
			;
		return haupt;
	}

	protected void initStyle() {
		t.k_text_pass.sText(s.t("Passwort:"));
		t.k_text_srv.sText(s.t("Server:"));
		t.k_text_benutzer.sText(s.t("Benutzer:"));

		t.k_pass.sVerdeckt();
//		t.k_host.sFokus();
	}

	protected void initEvents() {
	}

	protected S_Fenster<?> fenster(A_MN_Gruppe<?> instanz) throws F_Sys_InOut {
		return SWT_Fenster.neu(instanz, false, 400, 150, s.t("Verschlüsselung"),
			ICON._16.WERKZEUG, ICON._24.WERKZEUG, ICON._32.WERKZEUG);
	}

}
